x = 1
'''
在Python中循环结构分两类，一类是遍历循环结构for，一类是无限循环结构while。
for循环结构用于遍历一个可迭代对象，如列表、元组、字符串、字典、文件等
【for】
1、遍历循环for的语句结构
for 循环变量 in 遍历对象：
    语句块
    
2、for...else...结构 ,同上，只有在循环正常结束后执行else中的语句，如中途执行了break语句，则不执行else中的语句
for 循环变量 in 遍历对象：
    语句块1
else:
    语句块2
    
3、range()函数
range()函数用于生成一个[n,m)包含n,不包含m的整数序列，一般用在for循环中作为遍历对象

'''

text = '北京欢迎你'
for i in text:
    print(i)
else:
    print('遍历结束')

# range()函数
for i in range(1, 10):
    print(i)

# 10内的每个数字相加求和
sum = 0
for i in range(1, 11):
    sum += i
print('10以内整数相加和为：', sum)

print('-----计算100到999之间的水仙花数之和-----')
'''
水仙花数是指一个n位数（n≥3），它的每个位上的数字的n次幂之和等于它本身。例如：153是一个3位数，且153=1^3+5^3+3^3，所以153是一个水仙花数。
'''
# 使用[]取的每位的数值，进行立方相加
sum = 0
sum1 = 0
for i in range(100, 1000):
    # 通过截取字符串，获取指定位数上的数字
    si = str(i)
    if i == (int(si[0]) ** 3 + int(si[1]) ** 3 + int(si[2]) ** 3):
        print('当前水仙花数为：', i)
        sum += i

    # 使用运算//和%取的每位的数值，进行立方相加
    ge = i % 10  # 取的个位上的数字
    shi = (i // 10) % 10  # 取的十位上的数字
    bai = i // 100  # 取的百位上的数字
    if i == (ge ** 3 + shi ** 3 + bai ** 3):
        print('当前水仙花数为：', i)
        sum1 += i

print('100到999之间的水仙花数之和为：', sum)
print('100到999之间的水仙花数之和为：', sum1)
